home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / n_b_v203.zip / KEYS.DMO < prev    next >
Text File  |  1996-07-04  |  6KB  |  128 lines

  1. $if 0
  2.     ┌──────────────────────────╖                        PowerBASIC v3.20
  3.  ┌──┤          DASoft          ╟──────────────────────┬──────────────────╖
  4.  │  ├──────────────────────────╢    Copyright 1995    │ DATE: 1995-10-01 ╟─╖
  5.  │  │ FILE NAME   KEYS    .DMO ║          by          ╘════════════════─ ║ ║
  6.  │  │                          ║  Don Schullian, Jr.                     ║ ║
  7.  │  ╘══════════════════════════╝                                         ║ ║
  8.  │ A license is hereby granted to the holder to use this source code in  ║ ║
  9.  │ any program, commercial or otherwise,  without receiving the express  ║ ║
  10.  │ permission of the copyright holder and without paying any royalties,  ║ ║
  11.  │ as long as this code is not distributed in any compilable format.     ║ ║
  12.  │  IE: source code files, PowerBASIC Unit files, and printed listings   ║ ║
  13.  ╘═╤═════════════════════════════════════════════════════════════════════╝ ║
  14.    │                ....................................                   ║
  15.    ╘═══════════════════════════════════════════════════════════════════════╝
  16. $endif
  17.  
  18. '.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°
  19. ' ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
  20.  
  21. $INCLUDE "DAS-NB01.INC"
  22. COLOR 7, 0
  23. CLS
  24. ? "There are 3 sets of shift keys: SHIFT, CTRL, and ALT. These keys are either
  25. ? "in an UP or DOWN state. Each individual key can be tested for separately or
  26. ? "you can get the status of either in any pair. There are, also, 4 ON/OFF keys:
  27. ? "CAPS LOCK, SCROLL LOCK, NUM LOCK, and INS. The state of these keys can be
  28. ? "tested for, changed, or set as you require. The odd man out is the INS key
  29. ? "as it alone has a scan-code and sends an ascii value to the keyboard buffer.
  30. ? "┌───────────────────────┬─────────────────────────────────────────────────────╖
  31. ? "│ ACME KEYBOARD COMPANY │                                    ┌─────────────╖  ║
  32. ? "├───────────────────────┘                                    │ SCROLL LOCK ║  ║
  33. ? "│                                                            ╘═════════════╝  ║
  34. ? "│ ┌───────────╖                                                 ┌──────────╖  ║
  35. ? "│ │ CAPS LOCK ║                                                 │ NUM LOCK ║  ║
  36. ? "│ ╘═══════════╝                                                 ╘══════════╝  ║
  37. ? "│ ┌───────╖                                       ┌───────╖                   ║
  38. ? "│ │ SHIFT ║                                       │ SHIFT ║                   ║
  39. ? "│ ╘═══════╝                                       ╘═══════╝                   ║
  40. ? "│ ┌──────╖ ┌─────╖ ┌─────────────────────╖ ┌─────╖ ┌──────╖          ┌─────╖  ║
  41. ? "│ │ CTRL ║ │ ALT ║ │     SPACE BAR       ║ │ ALT ║ │ CTRL ║          │ INS ║  ║
  42. ? "│ ╘══════╝ ╘═════╝ ╘═════════════════════╝ ╘═════╝ ╘══════╝          ╘═════╝  ║
  43. ? "╘═════════════════════════════════════════════════════════════════════════════╝
  44. ? " PRESS <SPACE> TO END THIS MADNESS!"
  45.  
  46. Caps%   = fIsCAPSon%                       ' save the original state
  47. Scroll% = fIsSCROLLon%                     ' of the toggle keys so we
  48. Num%    = fIsNUMon%                        ' can return your keyboard
  49. Ins%    = fIsINSon%                        ' to it's original value
  50. SetCAPSoff                                 ' when we exit this program.
  51. SetSCROLLoff
  52. SetNUMoff
  53. SetINSoff
  54.  
  55. ClearKeyboard                              ' just in case!
  56. DO                                         '
  57.   IF fIsSCROLLon% THEN                     ' this chunk of code is VERY
  58.       COLOR 0, 7                           ' inefficient but it works,
  59.     ELSE                                   ' was easy to code and displays
  60.       COLOR 7, 0                           ' each function well.
  61.   END IF                                   '
  62.   LOCATE 9,63 : PRINT " SCROLL LOCK "      ' "A good excuse is better than
  63.   IF fIsCAPSon% THEN                       '  good code."  B.G. circa 1970
  64.       COLOR 0, 7
  65.     ELSE
  66.       COLOR 7, 0
  67.   END IF
  68.   LOCATE 12, 4 : PRINT " CAPS LOCK "
  69.   IF fIsNUMon% THEN
  70.       COLOR 0, 7
  71.     ELSE
  72.       COLOR 7, 0
  73.   END IF
  74.   LOCATE 12,66 : PRINT " NUM LOCK "
  75.   IF fIsINSon% THEN
  76.       COLOR 0, 7
  77.     ELSE
  78.       COLOR 7, 0
  79.   END IF
  80.   LOCATE 18,71 : PRINT " INS "
  81.   IF fLCTRLdown% THEN
  82.       COLOR 0, 7
  83.     ELSE
  84.       COLOR 7, 0
  85.   END IF
  86.   LOCATE 18, 4 : PRINT " CTRL "
  87.   IF fRCTRLdown% THEN
  88.       COLOR 0, 7
  89.     ELSE
  90.       COLOR 7, 0
  91.   END IF
  92.   LOCATE 18,53 : PRINT " CTRL "
  93.   IF fLALTdown% THEN
  94.       COLOR 0, 7
  95.     ELSE
  96.       COLOR 7, 0
  97.   END IF
  98.   LOCATE 18,13 : PRINT " ALT "
  99.   IF fRALTdown% THEN
  100.       COLOR 0, 7
  101.     ELSE
  102.       COLOR 7, 0
  103.   END IF
  104.   LOCATE 18,45 : PRINT " ALT "
  105.   IF fLSHIFTdown% THEN
  106.       COLOR 0, 7
  107.     ELSE
  108.       COLOR 7, 0
  109.   END IF
  110.   LOCATE 15, 4 : PRINT " SHIFT "
  111.   IF fRSHIFTdown% THEN
  112.       COLOR 0, 7
  113.     ELSE
  114.       COLOR 7, 0
  115.   END IF
  116.   LOCATE 15,52 : PRINT " SHIFT "
  117.  
  118. LOOP UNTIL INKEY$ = CHR$(32)
  119.  
  120. IF Caps%   THEN SetCAPSon   ELSE SetCAPSoff   ' return the keyboard to it's
  121. IF Scroll% THEN SetSCROLLon ELSE SetSCROLLoff ' original state here.....
  122. IF Num%    THEN SetNUMon    ELSE SetNUMoff    '
  123. IF Ins%    THEN SetINSon    ELSE SetINSoff    '
  124. COLOR 7, 0                                    ' fix the colors, too
  125. CLS                                           ' clear the screen
  126. END                                           ' <NO COMMENT>
  127.  
  128.